import api from './api/index';
import utils from './utils/util';
import log from './utils/log';
import {
    validator
} from './utils/validator'

App({

    /**
     * 初始化完成
     */
    onLaunch: function (options) {
        const that = this;
        // 获取系统信息
        const systemInfo = wx.getSystemInfoSync();
        // 胶囊按钮位置信息
        const menuButtonInfo = wx.getMenuButtonBoundingClientRect();
        // 导航栏高度 = 状态栏高度 + 44
        that.globalData.navBarHeight = systemInfo.statusBarHeight + 44;
        that.globalData.menuRight = systemInfo.screenWidth - menuButtonInfo.right;
        that.globalData.menuTop = menuButtonInfo.top;
        that.globalData.menuHeight = menuButtonInfo.height;
    },
    // 数据都是根据当前机型进行计算，这样的方式兼容大部分机器
    globalData: {
        navBarHeight: 0, // 导航栏高度
        menuRight: 0, // 胶囊距右方间距（方保持左、右间距一致）
        menuTop: 0, // 胶囊距底部间距（保持底部间距一致）
        menuHeight: 0, // 胶囊高度（自定义内容可与胶囊高度保证一致）
    },
    onError(err) {
        console.log('[全局异常捕获]:', err)
    },

    // 全局数据 （非持久化）
    globalData: {},

    // api接口
    api,
    // 工具
    utils,
    // 实时日志上报
    log,
    // 校验插件
    validator
})
